Serializar objeto a archivo binario

Progrma principal

Ejemplo Código

Usamos el BinaryFormatter para realizar la serialización de la clase Persona a un archivo binario.

using SerializationExample;

using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
namespace DemoApplication
{
    class AppSerializacion
    {
        static void Main(string[] args)
        {
            Persona persona = new Persona();
            persona.edad = 24;
            persona.nombre = "Richard";

            IFormatter formatter = new BinaryFormatter();
            Stream stream = new FileStream(@"ExampleNew.txt", FileMode.Create, FileAccess.Write);

            formatter.Serialize(stream, persona);
            stream.Close();

            stream = new FileStream(@"ExampleNew.txt", FileMode.Open, FileAccess.Read);
            Persona nuevaPersona = formatter.Deserialize(stream) as Persona;

            Console.WriteLine(nuevaPersona.edad);
            Console.WriteLine(nuevaPersona.nombre);
        }
    }
}
Clase Persona

Es importante incluir el atributo Serializable, lo necesital el BinaryFormatter, si no lo incluimos se lanzará una excepción.

namespace SerializationExample
{
    [Serializable]
    internal class Persona
    {
        public String nombre;
        public int edad;
    }
}
Tags

C# | Serializacion